<?php
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
 */
Route::any('/mytest', 'Admin\TestController@test'); //测试用

/* 微信公众平台 */
// 经测试，此路由写在 api.php 文件中时，动态设置的配置信息不生效，可能是laravel的bug
Route::any('/api/hbjc/weChat/interfaceCheck', 'Admin\WeChatController@interfaceCheck'); //接口配置信息验证
/* 微信公众平台 */

Route::get('/viewRes', 'Admin\ItemDataController@viewRes'); //手机扫描合格证上的二维码查看 试验记录
Route::get('/viewStatus', 'Admin\ContractController@viewStatus'); //手机扫描检验委托单上的二维码查看 检验进度
Route::any('/test0', 'Admin\PublicController@test'); //测试
Route::get('/test2/{ip?}', 'Admin\PublicController@test2'); //测试
Route::get('/qiyewx', 'Admin\WxQiYeController@index'); //企业微信推送消息
Route::get('/echarts_temp', 'Admin\EnvInfoController@echarts_temp'); //echarts 温度显示

Route::get('/' . config('constant.name_admin'), 'Admin\PublicController@login')->name('loginAdmin'); //登录
Route::get('/' . config('constant.name_admin').'/loginByWeChat', 'Admin\PublicController@loginByWeChat'); //登录--微信

Route::group(['prefix' => config('constant.name_admin')], function () {
    //此分组可直接访问
    Route::get('getEnvInfo', 'Admin\MyApiController@getEnvInfo');
    Route::any('test/test', 'Admin\TestController@test'); //test
    Route::any('soap/send', 'Admin\SoapServiceController@send'); //sendOutBoundData
    // Route::post('itemData/uploadRes', 'Admin\ItemDataController@uploadRes'); //试验软件上传试验结果

    Route::get('public/logout', 'Admin\PublicController@logout'); //退出登录
    Route::post('public/check', 'Admin\PublicController@check'); //登录验证
    Route::post('public/checkWeChat', 'Admin\PublicController@checkWeChat'); //登录验证--微信
    // Route::any('public/reg', 'Admin\PublicController@reg'); //注册
    Route::any('public/regClient', 'Admin\PublicController@regClient'); //客户注册
    Route::get('public/regSuccess', 'Admin\PublicController@regSuccess'); //注册成功后跳转到此页面
    Route::get('public/ieError', 'Admin\PublicController@ieError'); //在登录页面检测到用户用的是IE浏览器，跳转到更换浏览器提示页面
    Route::get('public/compare', 'Admin\PublicController@compare'); //标准版与专业版，功能比较

    Route::any('client/addSelf', 'Admin\ClientController@addSelf'); //客户自己添加
    Route::get('client/addSucc', 'Admin\ClientController@addSucc'); //客户自己添加成功后跳转

    // Route::any('testData/edit', 'Admin\TestDataController@edit'); //试验数据修改
    Route::get('itemData/view', 'Admin\ItemDataController@view'); //分项目结果展示，无法修改
    Route::get('manager/usernameCheckAdd', 'Admin\ManagerController@usernameCheckAdd'); //username验证是否唯一（添加时）
    Route::get('/viewRes/exportReport/export', 'Admin\ExportReportController@export'); //导出Excel 检测报告
});

Route::group(['prefix' => config('constant.name_admin'), 'middleware' => ['auth:admin']], function () {
    //此分组登录后，方可访问
    Route::get('index/index', 'Admin\IndexController@index'); //首页框架
    Route::get('index/welcome', 'Admin\IndexController@welcome'); //欢迎页面

    Route::get('manager/usernameCheck', 'Admin\ManagerController@usernameCheck'); //登录名唯一性验证
    Route::get('manager/numCheck', 'Admin\ManagerController@numCheck'); //num 工号验证是否唯一
    Route::any('manager/editself', 'Admin\ManagerController@editself'); //修改自己的信息
    Route::any('manager/editpassself', 'Admin\ManagerController@editpassself'); //管理员修改自己的密码
    Route::get('manager/unbindWechat', 'Admin\ManagerController@unbindWechat'); //解绑微信

    //基础  chubona
    Route::group(['prefix' => 'manager'], function() {
        Route::post('changeRole/{id}', 'Admin\ManagerController@changeRole'); //切换角色
    });

    // Route::get('myapi/loginLog', 'Admin\MyApiController@loginLog'); //保存登录日志
    Route::get('myapi/getWeather', 'Admin\MyApiController@getWeather'); //获取实时天气

    Route::get('client/showQrCode', 'Admin\ClientController@showQrCode'); //展示添加客户信息的二维码
    Route::get('client/getABC', 'Admin\ClientController@getABC'); //根据送检单位的中文获取英文首字母

    Route::get('sampleInfo/generateGqjID', 'Admin\SampleInfoController@generateGqjID'); //生成工器具ID

    Route::any('setting/passedCardSet', 'Admin\SettingController@passedCardSet'); //合格证设置
    Route::any('setting/printBarCodeSet', 'Admin\SettingController@printBarCodeSet'); //条形码设置

    Route::get('statistics/statisticsByDateAjax/{start}/{end}', 'Admin\StatisticsController@statisticsByDateAjax'); //合格数量 与 不合格数量 -- 按日期统计--Ajax
    Route::get('sampleInfo/getInfoById', 'Admin\SampleInfoController@getInfoById'); //扫描二维码后，返回样品的基本信息

    Route::get('testKind/index', 'Admin\TestKindController@index'); //检测性质，展示
    Route::get('testKind/del',   'Admin\TestKindController@del');   //检测性质，删除
    Route::any('testKind/add',   'Admin\TestKindController@add');   //检测性质，添加
    Route::any('testKind/edit',  'Admin\TestKindController@edit');  //检测性质，修改

    /* 微信公众平台 */
    Route::get('weChat/weChatBind', 'Admin\WeChatController@weChatBind'); //微信绑定
    /* 微信公众平台 */
});

Route::group(['prefix' => config('constant.name_admin'), 'middleware' => ['auth:admin', 'checkrbac']], function () {
    //此分组登录后，并通过鉴权，方可访问
    Route::get('manager/index', 'Admin\ManagerController@index'); //管理员列表展示
    Route::get('manager/regClientIndex', 'Admin\ManagerController@regClientIndex'); //注册客户列表展示
    Route::any('manager/add', 'Admin\ManagerController@add'); //管理员添加
    Route::get('manager/del', 'Admin\ManagerController@del'); //管理员删除
    Route::any('manager/edit', 'Admin\ManagerController@edit'); //管理员修改
    Route::any('manager/regClientEdit', 'Admin\ManagerController@regClientEdit'); //注册客户修改
    Route::any('manager/editpass', 'Admin\ManagerController@editpass'); //管理员修改别人的密码
    Route::get('testPlan/index', 'Admin\TestPlanController@index'); //检测申请列表展示--注册客户
    Route::get('testPlan/indexAll', 'Admin\TestPlanController@indexAll'); //检测申请列表展示--管理员
    Route::any('testPlan/add', 'Admin\TestPlanController@add'); //检测申请添加
    Route::get('testPlan/undo', 'Admin\TestPlanController@undo'); //检测申请撤销
    Route::get('testPlan/accept', 'Admin\TestPlanController@accept'); //检测申请受理
    Route::get('testPlan/getSort', 'Admin\TestPlanController@getSort'); //检测申请 获取排序
    Route::get('contract/viewStatusReg', 'Admin\ContractController@viewStatusReg'); //查看检验进度--注册客户

    Route::get('auth/index', 'Admin\AuthController@index'); //权限列表展示 datatable ajax加载
    Route::any('auth/add', 'Admin\AuthController@add'); //权限添加
    Route::any('auth/edit', 'Admin\AuthController@edit'); //权限修改
    Route::get('auth/autoAdd', 'Admin\AuthController@autoAdd'); //通过读取路由列表信息，实现权限自动添加
    Route::get('auth/del', 'Admin\AuthController@del'); //权限删除

    Route::get('role/index', 'Admin\RoleController@index'); //角色展示
    Route::get('role/del', 'Admin\RoleController@del'); //角色删除
    Route::any('role/edit', 'Admin\RoleController@edit'); //角色修改
    Route::any('role/add', 'Admin\RoleController@add'); //角色添加

    Route::get('client/index', 'Admin\ClientController@index'); //客户展示
    Route::get('client/del', 'Admin\ClientController@del'); //客户删除
    Route::any('client/add', 'Admin\ClientController@add'); //客户添加
    Route::any('client/edit', 'Admin\ClientController@edit'); //客户修改

    // Route::get('client/select', 'Admin\ClientController@select'); //客户选择
    Route::get('client/getClientInfo', 'Admin\ClientController@getClientInfo'); //获取客户信息

    Route::get('contract/index', 'Admin\ContractController@index'); //合同展示
    Route::get('contract/indexAll', 'Admin\ContractController@indexAll'); //合同展示
    Route::get('contract/viewAllBatch', 'Admin\ContractController@viewAllBatch'); //查看所有批次
    Route::get('contract/indexInfoLuru', 'Admin\ContractController@indexInfoLuru'); //合同展示（信息录入）
    Route::get('contract/indexResLuru', 'Admin\ContractController@indexResLuru'); //合同展示（结果录入）
    Route::get('contract/indexCheck', 'Admin\ContractController@indexCheck'); //合同展示（审核）
    Route::get('contract/indexApprove', 'Admin\ContractController@indexApprove'); //合同展示（批准）
    Route::get('contract/indexDownloadReport', 'Admin\ContractController@indexDownloadReport'); //合同展示（下载合同）
    Route::get('contract/approve', 'Admin\ContractController@approve'); //合同（批准操作）
    Route::get('contract/indexPrintBarCode', 'Admin\ContractController@indexPrintBarCode'); //合同展示（条形码打印）
    Route::get('contract/indexPrintPassedCard', 'Admin\ContractController@indexPrintPassedCard'); //合同展示（合格证打印）
    Route::get('contract/indexAssignTask', 'Admin\ContractController@indexAssignTask'); //合同展示（任务分配）
    Route::get('contract/indexTestOver', 'Admin\ContractController@indexTestOver'); //合同展示（检测工作全部完成）
    Route::get('contract/indexSendBack', 'Admin\ContractController@indexSendBack'); //合同展示（退样）
    Route::get('contract/testOver', 'Admin\ContractController@testOver'); //合同（检测工作全部完成操作）
    Route::get('contract/sendBack', 'Admin\ContractController@sendBack'); //合同（退样操作）
    Route::any('contract/add', 'Admin\ContractController@add'); //合同添加
    Route::get('contract/addShow', 'Admin\ContractController@addShow'); //合同添加 页面展示
    Route::any('contract/edit', 'Admin\ContractController@edit'); //合同编辑
    Route::get('contract/del', 'Admin\ContractController@del'); //合同删除
    Route::get('contract/softDel', 'Admin\ContractController@softDel'); //合同软删除
    Route::get('contract/restore', 'Admin\ContractController@restore'); //合同 恢复
    Route::get('contract/export', 'Admin\ContractController@export'); //导出Excel
    Route::get('contract/viewClientInfo', 'Admin\ContractController@viewClientInfo'); //查看批次的客户信息
    Route::get('contract/recycleBin', 'Admin\ContractController@recycleBin'); //回收站

    //外出试验数据导入平台
    Route::get('contract/offline', 'Admin\OfflineController@index'); //离线数据列表
    Route::get('offline/export', 'Admin\OfflineController@offlineExport'); //离线数据导出


    Route::get('exportReport/export', 'Admin\ExportReportController@export'); //导出Excel 检测报告

    // Route::get('sampleBasicInfo/index', 'Admin\SampleBasicInfoController@index'); //样品基本信息展示
    // Route::any('sampleBasicInfo/add', 'Admin\SampleBasicInfoController@add'); //添加样品基本信息
    // Route::get('sampleBasicInfo/searchSample', 'Admin\SampleBasicInfoController@searchSample'); //受理时搜索样品

    Route::get('contractGaiyao/index', 'Admin\ContractGaiyaoController@index'); //合同的概要信息编辑展示
    Route::get('contractGaiyao/indexAssignTask', 'Admin\ContractGaiyaoController@indexAssignTask'); //合同的概要信息编辑展示(任务分配)
    Route::get('contractGaiyao/show', 'Admin\ContractGaiyaoController@show'); //合同的概要信息不可编辑展示
    Route::get('contractGaiyao/viewShow', 'Admin\ContractGaiyaoController@viewShow'); //合同的概要信息不可编辑展示
    Route::post('contractGaiyao/add', 'Admin\ContractGaiyaoController@add'); //合同的概要添加
    Route::get('contractGaiyao/del', 'Admin\ContractGaiyaoController@del'); //合同的概要信息删除
    Route::post('contractGaiyao/oneAssign', 'Admin\ContractGaiyaoController@oneAssign'); //单个任务分配
    Route::get('contractGaiyao/autoAssign', 'Admin\ContractGaiyaoController@autoAssign'); //一键自动分配任务
    Route::post('contractGaiyao/batchAssign', 'Admin\ContractGaiyaoController@batchAssign'); //批量任务分配

    Route::get('contractDetail/index', 'Admin\ContractDetailController@index'); //合同的详细信息展示

    Route::get('sampleInfo/add', 'Admin\SampleInfoController@add'); //样品基本信息批量添加
    Route::any('sampleInfo/indexPrintBarCode', 'Admin\SampleInfoController@indexPrintBarCode'); //样品基本信息展示(条形码打印)
    Route::any('sampleInfo/indexInfoLuru', 'Admin\SampleInfoController@indexInfoLuru'); //样品基本信息展示+信息录入
    Route::get('sampleInfo/indexResLuru', 'Admin\SampleInfoController@indexResLuru'); //样品基本信息展示+结果录入
    Route::post('sampleInfo/oneSubmit', 'Admin\SampleInfoController@oneSubmit'); //结果录入后，单个提交
    Route::post('sampleInfo/batchSubmit', 'Admin\SampleInfoController@batchSubmit'); //结果录入后，批量提交
    Route::get('sampleInfo/indexCheck', 'Admin\SampleInfoController@indexCheck'); //样品基本信息展示（审核）
    Route::get('sampleInfo/viewCheck', 'Admin\SampleInfoController@viewCheck'); //样品基本信息展示（查看）
    Route::post('sampleInfo/oneCheck', 'Admin\SampleInfoController@oneCheck'); //样品基本信息，单个审核
    Route::post('sampleInfo/batchCheck', 'Admin\SampleInfoController@batchCheck'); //样品基本信息，批量审核
    Route::get('sampleInfo/indexPrintPassedCard', 'Admin\SampleInfoController@indexPrintPassedCard'); //样品基本信息展示(合格证打印)


    Route::get('tool/index', 'Admin\ToolController@index'); //样品类型展示
    Route::any('tool/relStd', 'Admin\ToolController@relStd'); //关联标准
    Route::any('tool/relParam', 'Admin\ToolController@relParam'); //关联参数（额定电压、分类）
    Route::any('tool/editParam', 'Admin\ToolController@editParam'); //修改 关联参数（额定电压、分类）
    Route::get('tool/delRelStd', 'Admin\ToolController@delRelStd'); //删除 关联标准
    Route::get('tool/delParam', 'Admin\ToolController@delParam'); //删除 关联参数（额定电压、分类）
    Route::post('tool/saveSortRelParam', 'Admin\ToolController@saveSortRelParam'); //保存排序 额定电压、分类
    Route::any('tool/add', 'Admin\ToolController@add'); //工器具类型 添加
    Route::any('tool/edit', 'Admin\ToolController@edit'); //工器具类型 编辑
    Route::get('tool/del', 'Admin\ToolController@del'); //工器具类型 删除

    Route::any('stdToolItemRel/relItem', 'Admin\StdToolItemRelController@relItem'); //关联项目
    Route::get('stdToolItemRel/del', 'Admin\StdToolItemRelController@del'); //删除 关联标准--项目
    Route::any('stdToolItemRel/edit', 'Admin\StdToolItemRelController@edit'); //标准--工器具--项目 关系 编辑
    Route::post('stdToolItemRel/saveSortStdToolItemRel', 'Admin\StdToolItemRelController@saveSortStdToolItemRel'); //保存 a_std_tool_item_rel 表的pos_start pos_end

    Route::any('conditionKey/conditionTitle', 'Admin\ConditionKeyController@conditionTitle'); //关联试验条件标题
    Route::post('conditionKey/saveSortConditionKey', 'Admin\ConditionKeyController@saveSortConditionKey'); //保存排序 试验条件标题
    Route::get('conditionKey/del', 'Admin\ConditionKeyController@del'); //试验条件标题 删除

    Route::any('condition/conditionVal', 'Admin\ConditionController@conditionVal'); //关联试验条件 值
    Route::get('condition/del', 'Admin\ConditionController@del'); //试验条件值 删除

    Route::any('testdataKey/dataTitle', 'Admin\TestdataKeyController@dataTitle'); //关联数据标题
    Route::get('testdataKey/del', 'Admin\TestdataKeyController@del'); //数据标题 删除
    Route::post('testdataKey/saveSortTestdataKey', 'Admin\TestdataKeyController@saveSortTestdataKey'); //保存排序 试验数据标题

    Route::any('stdToolRel/edit', 'Admin\StdToolRelController@edit'); //标准--工器具关系 编辑


    Route::get('standard/index', 'Admin\StandardController@index'); //检验标准 展示
    Route::any('standard/add', 'Admin\StandardController@add'); //检验标准 添加
    Route::any('standard/edit', 'Admin\StandardController@edit'); //检验标准 编辑
    Route::get('standard/del', 'Admin\StandardController@del'); //检验标准 删除

    Route::get('wxManagerRel/index', 'Admin\WxManagerRelController@index'); //微信通知规则 展示
    Route::any('wxManagerRel/add', 'Admin\WxManagerRelController@add'); //微信通知规则 添加
    Route::any('wxManagerRel/edit', 'Admin\WxManagerRelController@edit'); //微信通知规则 编辑
    Route::get('wxManagerRel/del', 'Admin\WxManagerRelController@del'); //微信通知规则 删除

    Route::get('testItem/index', 'Admin\TestItemController@index'); //检测项目 展示
    Route::any('testItem/add', 'Admin\TestItemController@add'); //检测项目 添加
    Route::any('testItem/edit', 'Admin\TestItemController@edit'); //检测项目 编辑
    Route::get('testItem/del', 'Admin\TestItemController@del'); //检测项目 删除

    Route::get('help/index', 'Admin\HelpController@index'); //常见问题 展示
    Route::any('help/add', 'Admin\HelpController@add'); //常见问题 添加
    Route::any('help/edit', 'Admin\HelpController@edit'); //常见问题 编辑
    Route::get('help/del', 'Admin\HelpController@del'); //常见问题 删除
    Route::get('help/openPdf', 'Admin\HelpController@openPdf'); //常见问题 打开PDF
    Route::get('help/openVideo', 'Admin\HelpController@openVideo'); //常见问题 打开视频

    Route::any('setting/edit', 'Admin\SettingController@edit'); //setting 编辑

    Route::get('myapi/getStdParam', 'Admin\MyApiController@getStdParam'); //获取样品下的 标准、额定电压、分类
    Route::get('myapi/getItem', 'Admin\MyApiController@getItem'); //获取标准 -> 样品 下的 试验项目
    Route::get('myapi/getItemByContractGaiyaoId', 'Admin\MyApiController@getItemByContractGaiyaoId'); //根据批次概要ID 获取 检验项目
    Route::get('myapi/viewAssignRes', 'Admin\MyApiController@viewAssignRes'); //查看 分配结果


    Route::any('itemData/index', 'Admin\ItemDataController@index'); //分项目结果录入，展示


    Route::any('excelPos/excelPos', 'Admin\ExcelPosController@excelPos'); //字段在Excel中的位置
    Route::get('excelPos/downLoadTemplate', 'Admin\ExcelPosController@downLoadTemplate'); //下载Excel模板
    Route::get('excelPos/downLoadTemplateFMFD', 'Admin\ExcelPosController@downLoadTemplateFMFD'); //下载Excel封面 封底 模板
    Route::any('statistics/statisticsByDate', 'Admin\StatisticsController@statisticsByDate'); //合格数量 与 不合格数量 -- 按日期统计

    Route::get('clientCode/index', 'Admin\ClientCodeController@index'); //客户单位编码，展示
    Route::get('clientCode/del', 'Admin\ClientCodeController@del'); //客户单位编码，删除
    Route::any('clientCode/add', 'Admin\ClientCodeController@add'); //客户单位编码，添加
    Route::any('clientCode/edit', 'Admin\ClientCodeController@edit'); //客户单位编码，修改

    Route::get('volCode/index', 'Admin\VolCodeController@index'); //电压等级编码，展示
    Route::get('volCode/del', 'Admin\VolCodeController@del'); //电压等级编码，删除
    Route::any('volCode/add', 'Admin\VolCodeController@add'); //电压等级编码，添加
    Route::any('volCode/edit', 'Admin\VolCodeController@edit'); //电压等级编码，修改

    Route::get('sampleCode1/index', 'Admin\SampleCode1Controller@index'); //样品编码（工器具ID），展示
    Route::get('sampleCode1/del',   'Admin\SampleCode1Controller@del'); //样品编码（工器具ID），删除
    Route::any('sampleCode1/add',   'Admin\SampleCode1Controller@add'); //样品编码（工器具ID），添加
    Route::any('sampleCode1/edit',  'Admin\SampleCode1Controller@edit'); //样品编码（工器具ID），修改

    Route::get('sampleCode2/index', 'Admin\SampleCode2Controller@index'); //样品编码（样品标签），展示
    Route::get('sampleCode2/del',   'Admin\SampleCode2Controller@del'); //样品编码（样品标签），删除
    Route::any('sampleCode2/add',   'Admin\SampleCode2Controller@add'); //样品编码（样品标签），添加
    Route::any('sampleCode2/edit',  'Admin\SampleCode2Controller@edit'); //样品编码（样品标签），修改

    Route::get('temHuiPre/index', 'Admin\TemHuiPreController@index'); //温湿度气压计，展示
    Route::get('temHuiPre/del',   'Admin\TemHuiPreController@del'); //温湿度气压计，删除
    Route::any('temHuiPre/add',   'Admin\TemHuiPreController@add'); //温湿度气压计，添加
    Route::any('temHuiPre/edit',  'Admin\TemHuiPreController@edit'); //温湿度气压计，修改
});
require_once __DIR__.'/chu.php';
require_once __DIR__.'/an.php';
